const nums = [1, 3, -1, -3, 5, 3, 6, 7];
const k = 3;
var maxSlidingWindow = function(nums,k){
    const len = nums.length
    const res =[]
    const deque = []
    for(let i=0;i<len;i++){
        while(deque.length&&nums[deque[deque.length-1]]<nums[i]){
            deque.pop()
        }
        deque.push(i)
        if(i>=k-1){
            res.push(nums[deque[0]])
        }
        if(k-i>=deque[0]){
            deque.shift()
        }
    }
    return res
}
//维护一个单调递减队列
//[]

// var  maxSlidingWindow = function(nums, k) {
//     const len = nums.length;
//     let left = 0
//     let right = k-1
//     const res = []
//     while(right<len){
//         const max = getMax(nums,left,right)
//         res.push(max)
//         left++
//         right++
//     }
// }
// function getMax(num,left,right){
//     let max = num[left]
//     for(let i=left;i<=right;i++){
//         max = Math.max(max,num[i])
//     }
//     return max
// }
 